package com.tools.web.work.excel.poi;

import com.tools.common.object.CustomHandler;
import com.tools.common.object.Note;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;

/**
 * 导出写入 - 行数据处理器接口
 * */
@Note("导出写入 - 行数据处理器接口")
public abstract class RowWriteHandler<T> extends CustomHandler {

    protected RowWriteHandler() {}

    protected RowWriteHandler(Object parameter) {
        super(parameter);
    }

    protected RowWriteHandler(Object... parameters) {
        super(parameters);
    }


    protected RowWriteHandler(Iterable<?> parameters) {
        super(parameters);
    }

    @Note("处理对象的属性，根据表头配置生成一列列单元格，填充数据值")
    public abstract void handle(T obj, Row row, CellStyle cellStyle,
                                SheetExporter sheetExporter, ExcelExporter excelExporter);
}
